package com.up.interview.redis.xianliu;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

/**
 * @author: liuchengjun
 * @title: RateLimitConfig
 * @projectName: 海联技术中台V2.0
 * @depart 软件事业部
 * @description:
 * @date: 2025/10/21/周二 15:32 (星期二)
 * @since V2.0
 */
@Data
@Component
@ConfigurationProperties(prefix = "rate.limit")
public class RateLimitConfig {

    private  int permitsPer;  // 窗口允许的请求数（QPS）
    private  long windowSize;       // 时间窗口大小（毫秒）
    private  TimeUnit timeUnit;     // 时间单位
    private  String strategy;       // 限流策略（如 "fixed-window", "sliding-window", "token-bucket"）
}
